using System;
using System.Collections.Generic;

namespace Common.Utilities.Persistence
{
    /// <summary>
    /// 
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public class BinaryFilePersistenceUtil<T> : ISerializable<T>
        where T : IXmlSerializable
    {
        #region ISerializable<T> Members

        /// <summary>
        /// 
        /// </summary>
        /// <param name="path"></param>
        /// <param name="entity"></param>
        public void Save(string path, ref T entity)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="path"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public T GetByID(string path, int id)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="path"></param>
        /// <param name="id"></param>
        public void Delete(string path, int id)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="path"></param>
        /// <returns></returns>
        public List<T> GetAll(string path)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="path"></param>
        /// <param name="filters"></param>
        /// <returns></returns>
        public List<T> FindAll(string path, List<FieldFilter> filters)
        {
            throw new Exception("The method or operation is not implemented.");
        }
        #endregion
    }
}
